import logging
from redis import StrictRedis
# 将程序配置抽取到单独的模块里
class Config(object):

    LOG_LEVEL = logging.DEBUG

    #设置加密
    SECRET_KEY = "XXXsgsdgAFADGFADLKAJFsdfLAHGKLHARKJASGSfsdsdghjdjfkkdgrtnb"
    # 数据库URI
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/information_bk"
    # 数据库修改追踪
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    #设置服务器地址和端口号常量
    HOST_IP = '127.0.0.1'
    PORT = 6379

    # 设置Session 相关配置，将session保存到redis数据库
    SESSION_TYPE = "redis" # 指定session保存到redis中
    SESSION_USE_SIGNER = True # 让cookie中的session_id被签名加密处理
    SESSION_REDIS = StrictRedis(host=HOST_IP,port=PORT,db=1) # 使用redis实例
    SESSION_PERMANENT = False # 设置确认过期
    PERMANENT_SESSION_LIFETIME = 86400 *3 # 设置过期时间为三天

# 新创建3个类继承配置类，能够满足不同环境下的配置
class DevelopmentConfig(Config):
    DEBUG = True


class ProductionConfig(Config):
    HOST_IP = '127.0.0.1'
    PORT = 6379
    LOG_LEVEL = logging.ERROR


class TestingConfig(Config):
    DEBUG = True


# 将不同环境的配置保存到字典中
config_dict = {
    'development':DevelopmentConfig,
    'production':ProductionConfig,
    'testing':TestingConfig
}